Application servers provide an environment for programmers to write application programs that perform services. Application servers typically include resources provided by third party vendors that can be called by application programs. Application servers may implement large numbers of the resource objects for application program use. One such application server is Web Logic Server (WLS) of BEA Systems of San Jose, Calif.
Application servers implement a resource pool to manage and track resource status. Typically, different subsystems like JDBC, Connector and JMS subsystems use separate resource pooling code implementations. Each implementation generally performs the same function for the corresponding system.
Additionally, pool resource management and invocation can have negative effects on the efficiency of application program operation if the resources used by the application program are not properly managed in resource pools. One disadvantage of current application servers is that most of the management parameters are statically generated. What is needed is an application server that implements a resource pool that re-uses code common to different subsystems, allows for dynamic configuration, and achieves other improvements over previous application servers. Additionally, a statement cache that operates with the resource pool needed would be highly desirable.